#pragma once

#include <vector>
#include "Player.h"
#include "Opponent.h"
#include "Board.h"

using namespace std;

class Board;
class GamePiece;
class Player;
class Opponent;

class Game
{
public:
	static Game* get_instance();
	void run();

//private:
	Game();
	bool game_over();
	void turn();
	void score();
	bool record_compare(pair<string, int> &a, pair<string, int> &b);
	void write_score_file(vector<pair<string, int>> scores, string filename);
	vector<pair<string, int>> read_score_file(string filename);
	void update_score_file(string player_name, int new_score);
	Player* the_player;
	vector<Opponent*> opponents;
};
